const path = require('path');

// join、resolve(解析一个绝对路径出来)、

console.log(path.join('a', 'b'
  // ,'/' /*←会带上'/'*/
  // , '../' /*←返回上一级并带上'/'*/
)); //默认路径结束的时候不会带`/`，
//a\b


/** join 和 resolve 的区别*/
console.log(path.join('a', 'b'));
//a\b
console.log(path.resolve('a', 'b')); /** 它和join的区别在于它是基于 process.cwd 路径上拼接*/
//F:\js_workplace\tutorial\node_tutorial\8.node是个撒\03path\a\b


/** __dirname是当前文件所处的目录的路径*/
/*console.log(path.resolve(__dirname, 'a', 'b')); //D:\x\node_tutorial\8.node是个撒\03nodeModule\a\b
//↑↓等价
console.log(path.join(__dirname, 'a', 'b'));*/


/** 如果要拼接单独的'/' 请使用join*/
console.log(path.resolve(__dirname, 'a', 'b','/'));//  / //resolve不支持'/' 会直接解析成根路径
// console.log(path.join(__dirname, 'a', 'b', '/')); // D:\x\node_tutorial\8.node是个撒\03nodeModule\a\b\
// console.log(path.resolve(__dirname, 'a', './b/')); // D:\x\node_tutorial\8.node是个撒\03nodeModule\a\b


/** dirname、extname、basename*/
// dirname(当前文件的目录名)、
// extname(当前文件的扩展名)、
// basename(当前文件的基础名)

// console.log(path.dirname(__dirname));

// console.log(path.extname('1.min.js')); // .js

// console.log(path.basename('1.min.js','.js')); //1.min ； 必须要给个扩展名


/** 不同系统的分隔符是不一样的 path.sep就是来兼容这个问题的 这里windows系统下它就是 \*/
// console.log(path.sep); // \

// console.log('path.delimiter:',path.delimiter); // windows下是 ';', mac下是 ':'
